package com.chalk.model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;

/**
 * <p>
 * 
 * </p>
 *
 * @author glq
 * @since 2020-12-10
 */

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_venue")
@ApiModel(value="Venue对象", description="")
public class Venue implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "场馆id")
    @TableId(value = "venue_id", type = IdType.AUTO)
    @JsonProperty("venueId")
    private Integer venueId;

    @ApiModelProperty(value = "场馆名称")
    @JsonProperty("venueName")
    private String venueName;

    @ApiModelProperty(value = "场馆地址")
    @JsonProperty("venueSite")
    private String venueSite;

    @ApiModelProperty(value = "场馆背景图片")
    @JsonProperty("venuePic")
    private String venuePic;

    @ApiModelProperty(value = "场馆联系电话")
    @JsonProperty("venuePhone")
    private String venuePhone;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @JsonProperty("createTime")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @JsonProperty("updateTime")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "是否被删除 0 未删除 1已删除")
    @JsonProperty("isDelete")
    private Integer isDelete;

    @ApiModelProperty(value = "经度")
    @JsonProperty("longitude")
    private String longitude;

    @ApiModelProperty(value = "维度")
    @JsonProperty("dimension")
    private String dimension;



    @ApiModelProperty(value = "是否被推荐 0 未删除 1已删除")
    @JsonProperty("isRecommend")
    private Integer isRecommend;


    @ApiModelProperty(value = "场馆公告")
    @JsonProperty("venueNotice")
    private String venueNotice;


    @ApiModelProperty(value = "距离（米）")
    @JsonProperty("distance")
    @TableField(exist = false)
    private Long distance;

    @ApiModelProperty(value = "评分标志(true，有评分 false 暂无评分)")
    @JsonProperty("scoreFlag")
    @TableField(exist = false)
    private Boolean scoreFlag;

    @ApiModelProperty(value = "综合评分")
    @JsonProperty("score")
    @TableField(exist = false)
    private Double score;

    @ApiModelProperty(value = "所关联项目")
    @JsonProperty("sportEvents")
    @TableField(exist = false)
    private List<SportEvent> sportEvents;

    @ApiModelProperty(value = "所关联项目")
    @JsonProperty("seIds")
    @TableField(exist = false)
    @NotNull(message = "项目id不能为空")
    private List<Integer> seIds;


}
